סטודנטים יקרים הפתרונות מוגשים בסרטוני וידאו המלווים בהסבר קולי, כך שאתם רואים את התהליכים בצורה מובנית, שיטתית ופשוטה, ממש כפי שנעשה בשיעור פרטי.

Similar documents
מבוא לתכנות ב- JAVA תרגול 7

Algorithms. Intro2CS week 5

מבוא לתכנות ב- JAVA מעבדה 4

Engineering Programming A

מבוא לתכנות ב- JAVA מעבדה 2

תרגילים ופתרונות בשפת - C הסתעפויות

מבוא לתכנות תוכנית שעור מס. 1 1 דר' דרור טובי, המרכז האוניברסיטאי אריאל בשומרון.

סכום (סדרת ערכים) אחרת - דוגמא: סכום-ספרות (num) אם < 10 num החזר 1 או אם = 0 = num החזר 0 public static int numofdigits (int num)

שאלה 1 מהו הפלט של התוכנית הבאה:

מערכים שעור מס. 4 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1

מבוא למדעי המחשב תרגול 5: לולאות ומערכים

<exp> ::= <define> <cexp> <define> ::= ( define <var-decl> <cexp> ) / DefExp(var:VarDecl, val:cexp)

ב ה צ ל ח ה! אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ה תשרי תשע"ח 15/10/17 שמות המורים: ציון סיקסיק מיועד לתלמידי : א'

Programming in C תרגול 8

Computer Programming Summer 2017

מבוא למדעי המחשב תרגול 13: עצים בינאריים

רזח יליגרתו םי יראני ב ם

מבוא לתכנות בשפת C. Tzachi (Isaac) Rosen

חוברת תרגילים לתרגול יסודות התכנות

עמוד 1 (תאריך ( âùéä ער äìàù בכל השאלות ניתן להניח שהקלט תקין. 100 íåëñ חורף :

דף הדרכה ליצירת שרת/ לקוח עם GUI

תרגול 4 פונקציות. מבנה של פונקציה: public static <return value type> <function name> (<arg1 type> <arg1>, <arg2 type> <arg2>, ) { <function body> }

Introduction to Programming in C תרגול 8

פתרון מוצע לבחינת מה"ט ב_שפת c מועד אביב תשע"ח, פברואר 8102 מחבר: מר שייקה בילו, מכללת אורט רחובות

קורס תכנות שיעור שני: שימוש במשתנים,

קורס גרפיקה ממוחשבת 2008 סמסטר ב' ליאור שפירא 1 חלק מהשקפים מעובדים משקפים של פרדו דוראנד, טומס פנקהאוסר ודניאל כהן-אור

Practical Session No. 14 Topological sort,amortized Analysis

מבוא לתכנות ב- JAVA מעבדה 3. Ipc161-lab3

במידה ולסעיף ניתנה תשובה ובנוסף נרשם לגבי הסעיף לא יודע/ת אזי הניקוד שיינתן

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions

קורס תכנות בשיעור הקודם למדנו על רקורסיה שיעור שישי: מערכים פונקציה רקורסיבית שאלה חישוב נוסחאות רקורסיביות בשפת C

Exams questions examples

Computer Programming A תרגול 9

מבוא לתכנות ב- JAVA תרגול 5. Ipc161- practical session 5

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions

ת ונכת סרוק תורשוקמ תומישר :יעישת רועיש 1

מבוא לתכנות ב- JAVA תרגול 6

$ gcc check.c. $ a.out. $ gcc check.c -o check. $ check. $ gcc -Wall check.c -o check. #include <stdio.h>

מצליחה. 1. int fork-bomb() 2. { 3. fork(); 4. fork() && fork() fork(); 5. fork(); printf("bla\n"); 8. return 0; 9. }

Computer Programming תרגול 6 פונקציות

מבוא למדעי המחשב תירגול 3:

היצביט ומ - ןוכית ת וי נבת

תרגול 6 רקורסיה ותכנות מונחה עצמים

Fundamentals of Computer Graphics, Image Processing, and Vision 1 חלק מהשקפים מעובדים משקפים של פרדו דוראנד, טומס פנקהאוסר, טל הסנר וליאור שפירא


Chapter 11.2 Linked lists ( )

תוכנה 1 תרגול מספר 10: תרגיל חזרה חברת הייטק בית הספר למדעי המחשב אוניברסיטת תל אביב

קורס תכנות שיעור שישי: מחרוזות, מצביעים

שאלה 1, סעיף ב )11 נק'(

תוכנה 1. תרגול 1: סביבת העבודה ומבוא ל- Java

הנכות 1 תואיגש םע תודדומתהו תואלול,םי : כרעמ 2 לוגרת

תזכורת: עץבינארי מבוא למדעי המחשב הרצאה 24: עצי חיפוש בינאריים

מבוא למדעי המחשב תירגול 2: מבוא למדעי המחשב מ' - תירגול 2

הנכות 1 תואיגש םע תודדומתהו תואלול,םיכרעמ : לו 2 גרת

כתבו קוד ב- 3 קבצי ה hpp (כתבו כהערה את שם הקובץ מעל) כך שהקוד יהיה תקין ובסגנון טוב. אין חובה

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions

Graph Database, think different!

גירסה

מדעי המחשב 2 יחידות לימוד פתרון בחינת הבגרות פרק א. I x > a. פתרון 2: משפט switch

קורס תכנות רשימה מקושרת דוגמה: חיפוש מעבר על רשימה דוגמא: שחרור רשימה מקושרת דוגמא: הוספת אברים שלא בהתחלה

תוכנה 1 טיפוסי השפה טיפוסים לא פרימיטיביים הטיפוסים הפרימיטיביים מחרוזות המרה למספרים תרגול 2: טיפוסי שפה, מחרוזות, מערכים ושגיאות

תוכנה 1 סמסטר א' תשע"א

משתנים שעור מס. 2 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1

מבוא לשפת סי סוגי לולאות שבוע שעבר... תוכנייה. לולאת while דוגמא: קליטת מספר חיובי ד'/כסלו/תשע "ב. משפטי if משפטי switch סוגי לולאות בשפת C דוגמאות

תוכנה 1. תרגול מס' 3 עבודה עם מחרוזות )Strings( מתודות )Methods( העברת פרמטרים

תוכנה 1 תרגול 2: מערכים, מבני בקרה ושגיאות

תוכנה 1 בשפת Java נושאים שונים בהורשה רובי בוים ומתי שמרת בית הספר למדעי המחשב אוניברסיטת תל אביב

אוניברסיטת בן-גוריון בהצלחה! מספר נבחן: מדור בחינות רשמו תשובותיכם בשאלון זה בלבד ובמקום המוקצה לכך בלבד! תשובות מחוץ לשאלון לא יבדקו.

מחרוזות ב Java ותכנות מונחה בדיקות )Test Driven Development(

תרגול 3 מערכים ופונקציות

תרגול מספר 3: מערכים

Practical Session - Heap

מבוא למדעי המחשב תרגול 8 רשימה משורשרת כללית, Comparator

תכנות מתקדם בשפת C משתנים

Communication Networks ( ) / Spring 2011 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner

Operating Systems. Practical Session 4 Threads

הנכות 1 םוכיס לוגרת 14 1

הנכות 1 םוכיס לוגרת 13 1

קורס תכנות כתובות בזיכרון כתובות בזכרון מצביעים וכתובות מצביעים וכתובות שיעור שביעי: מבנים, הקצאת זיכרון דינאמית האופרטור &

תוכנה 1 תרגול מספר 10: תרגיל חברת הייטק בית הספר למדעי המחשב אוניברסיטת תל אביב

תרגילים ופתרונות בשפת C

הוראות חיבור e-port בפרוטוקול Art-Net למערכות תאורה שונות

מבני נתונים תכנות מונחה עצמים מבני נתונים. מחלקות אבסטרקטיות חבילות packages סיכום הרשאות גישה wrappers ADT מערך דינמי מחסנית

Amortized Analysis, Union-Find,

פתרון מוצע לבחינה בשפת C של מה"ט מועד אביב תשע"ז, פברואר 2017 מחבר: מר עסאקלה שאדי, מכללת אורט בראודה

שים לב! אין לכתוב בשוליים. השוליים יחתכו לצורך סריקת המבחן.

נוסחאון מיקרובקר 8051 גרסה: 0.1

אדמיניסטרציה. O O O

תוכנה 1 תרגול 2: מערכים ומבני בקרה

הנכות 1 םוכיס לוגרת 13 1

2. (לדוגמא: יחידת הספריה (my_unit.c. #include "my_unit.c" היחידה (חלק ה-.(prototype לדוגמא:. my_unit.h הכותר. הוראת מדעי המחשב, אוניברסיטת תל-אביב

Simple Web Service. namespace MyService { public class Service1 : System.Web.Services.WebService {

תוכנה 1. תרגול מספר 11: Static vs. Dynamic Binding מחלקות מקוננות Nested Classes

תוכנה 1 מערכים. Array Creation and Initialization. Array Declaration. Loop through Arrays. Array Creation and Initialization

הוראות לנבחן סף ובהם שמונה שאלות. עליך לענות על שש שאלות, על פי ההנחיות בכל פרק. גמר לבתי ספר לטכנאים ולהנדסאים

תוכנה 1 תרגול מספר 13

תוכנה 1 תרגול מספר 13

תוכנה 1 מערכים. Array Creation and Initialization. Array Declaration. Array Creation and Initialization. Loop through Arrays

מבוא למדעי המחשב תרגול 12 מחסנית )Stack( memoization

תוכנה 1 3 תרגול מס' מערכים ומבני בקרה

Transcription:

סטודנטים יקרים לפניכם ספר תרגילים בקורס ארגון ותכנות המחשב (שפת אסמבלי). הספר הוא חלק מפרויקט חדשני וראשון מסוגו בארץ במקצוע זה, המועבר ברשת האינטרנט.On-line הקורס באתר כולל פתרונות מלאים לספר התרגילים. הקורס נכתב ע"י גברת שלי קול. הפתרונות מוגשים בסרטוני וידאו המלווים בהסבר קולי, כך שאתם רואים את התהליכים בצורה מובנית, שיטתית ופשוטה, ממש כפי שנעשה בשיעור פרטי. אז אם אתם עסוקים מידי בעבודה, סובלים מלקויות למידה, רוצים להצטיין או פשוט אוהבים ללמוד בשקט בבית, אנחנו מזמינים אתכם לחוויית לימודים יוצאת דופן וחדשה לחלוטין, היכנסו עכשיו לאתר אנו מאחלים לכם הצלחה מלאה בבחינות צוות האתר GooL לפתרון מלא בסרטון וידאו היכנסו ל- גוּל, בּ ש ביל ה תרגוּל! www.gool.co.il

תרגיל 1 - תכניתראשונה כתוב תכנית אסמבלי המדפיסה World!" "Hello למסך. תרגיל 2 - פעולותחשבוניותופקודותקפיצה כתוב תכנית השואלת את המשתמש מה הציון שלו במבוא למדעי המחשב. לאחר מכן, התוכנית קולטת מספר בין 0 ל 100. אם הציון הוא 100 התכנית תדפיס best" "You are the אם הציון מעל 90 התכנית תדפיס."Try to get more " לכל מקרה אחר, "You are good" תרגיל 3 - התייחסותלזיכרון השלם את הטבלה הבאה,אם הפקודה חוקית (תחת 8086 ),רשום את משמעותה. משמעות חוקית הפקודה MOV [AX],DL MOV [BX],CL MOV AX, [SI] MOV [DI-23],CL MOV [DI+SI],CH MOV [BX],[DI] MOV [SI],DH MOV DS:[DI],AX MOV CL,1234 Yes/No

MOV DH,300 MOV CH,011H MOV CH,DX MOV AX,BL MOV AL,AH MOV DL,256 MOV DH,255 MOV BX, OFFSET x MOV [BL],AL MOV SI, 2 MOV DI, OFFSET str[si]

תרגיל 4 - מספרים מסומנים יש לקלוט מהמשתמש מספר בינארי בצורה של ארבעה ביטים. המספר יכול להיות שלילי (בשיטת המשלים ל- 2 ) או חיובי. אם המספר הנקלט חיובי, יש להדפיס את השלילי המתאים לו בשיטת המשלים ל- 2. אחרת, יש להדפיס הודעה מתאימה. דוגמא לפלט התוכנית: דוגמא נוספת: THIS PROGRAM CONVERTS TO NEGATIVE. Please enter binary number: 0101 Your Number is Positive. Its Negative is: 1011 THIS PROGRAM CONVERTS TO NEGATIVE. Please enter binary number: 1111 Your Number is Negative!!! תרגיל 5 לולאות כתוב תוכנית המגדירה ב- DATA. את המערך הבא: 0 1 2 3 4 5 6 אינדקס 7-2000 1125-5867 11777-76 31-67 ערך 121 על התכנית למצוא ולהדפיס את הממוצע של המספרים במערך. ניתן להניח כי הממוצע הוא מספר שלם.

תרגיל 6 פרוצדורות סעיף א: כתוב פרוצדורה באסמבלי המחשבת מקסימום במערך של מספרים שלמים. יש לכתוב את הפרוצדורה כך ש: הכתובת לאיבר הראשון במערך נתונה ב.DI מספר האיברים במערך (גודל המערך) נתון ב- CX..1.2 סעיף ב: כתוב פרוצדורה באסמבלי המדפיסה מספר שלם. יש לכתוב את הפרוצדורה כך שהפרמטר (המספר השלם) נתון בשטח זיכרון גלובלי בשם.num סעיף ג: הוסף MAIN לתוכנית כך שידפיס את המקסימום במערך הבא: 2443 45 6-45 -3456 5678 56-89 -4 321 5688 43 גודל המערך: 12.

תרגיל 7 - אסמבלי+ שפתC כתבו פרוצדורה באסמבלי הנקראת משפת Cומקבלת מערך של מספרים שלמים (מסוג,(int את גודל המערך וכן מערך נוסף ופויינטר לגודל המערך הנוסף. הפרוצדורה מחשבת את סכום המספרים במערך ובודקת האם קיימים מספרים במערך הגדולים מהסכום. אם כן, על הפרוצדורה להחזיר 1 ולהעתיק את המספרים הגדולים מהסכום למערך הנוסף ולאתחל את גודלו. אחרת, על הפרוצדורה להחזיר 0. הגדרת הפרוצדורה היא: int SumBigger(intarr[], int size, int bigarr[], int * bigsize); קוד C הקוראלפרוצדורה: #include <stdio.h> #define N 10 extern int SumBigger (int arr[], int size, int bigarr[], int * bigsize); void main() { } int arr[n], bigarr[n], bigsize, i; printf("\nplease enter %d numbers\n", N); for(i=0;i<n;i++) scanf("%d",&arr[i]); if(sumbigger (arr, N, bigarr, &bigsize)) { printf("\nnumbers that larger than the sum:\n"); for (i=0; i<bigsize; i++) printf("%d ", bigarr[i]); } else printf("\nthere are NO numbers larger than the sum\n"); return;

תרגיל 8 - סעיף א': מודליםשלזיכרון, פויינטרלפונקציה ממש פרוצדורה בשפת אסמלי שתקרא מתוך תכניתCהמבצעת חיבור של מספרים במערך A עם המספרים במערך Bוהתוצאה תהיה במערך C. ז"א, הפונקציה תבצע.C[i]=A[i]+B[i].( בנוסף, על הפונקציה להחזיר את הסכום הכולל ) יש לממש את הפרוצדורה במודל.LARGE הגדרת הפרוצדורה היא: size); int add_nums(int A[],int B[], int C[], int קוד Cהקורא לפרוצדורה הוא: #include <stdio.h> #define N 10 extern int add_nums(int A[],int B[], int C[], int size); void main() { } int A[N], B[N], C[N], i, size=n; printf("\nenter %d Numbers\n", N); for(i=0; i<n; i++) scanf("%d",&a[i]); printf("\nagain, Enter %d Numbers\n", N); for(i=0; i<n; i++) scanf("%d",&b[i]); printf("\n The result is %d\n", add_nums(a, B, C, size)); printf("\n The result Array is:\n"); for(i=0; i<n; i++) printf("%d\t", C[i]);

סעיף ב': שנה את הגדרת הפרוצדורה,add_nums כך שתקבל פויינטר לפונקציית איתחול מערך. פונקצית האיתחול: size); void init arr(int arr[], int הגדרת add_numsהחדשה: int add_nums(int A[],int B[], int C[], int size, void (*initf)(int[], int)); קוד Cהקורא לפרוצדורה הוא: #include <stdio.h> #define N 10 extern int add_nums(int A[],int B[], int C[], int size, void (*initf)(int[], int)); void initarr(int arr[], int size); void main() { int A[N], B[N], C[N], i, size=n; printf("\n The result is %d\n", add_nums(a, B, C, size, initarr)); printf("\n The result Array is:\n"); for(i=0; i<n; i++) printf("%d\t", C[i]); } void initarr(int arr[], int size) { int i; printf("\nenter %d Numbers\n", size); for(i=0; i<size; i++) scanf("%d",&arr[i]); }

תרגיל 9 - ייצוגמספריםממשייםבזיכרון עליכם לכתוב את ייצוג המספרים הבאים בזיכרון כ -,float double ו-.long double 9.0 0.625 1.4 (1 (2 (3 תרגיל 10 סעיף א': - המעבד המתמטי שיטת ניוטון-רפסון (או כלל ניוטון) היא אלגוריתם יעיל באנליזה נומרית למציאת שורשים של פונקציה ממשית כלשהי. נשתמש בשיטה זו למציאת שורש של X. לאחרnאיטראציות ניתן למצוא את ע"י הסדרה הבאה: X0=X,. הגדרת ממש פרוצדורה בשפת אסמלי שתקרא מתוך תכנית הפרוצדורה היא: Cהמחשבת קירוב נומרי של float my_sqrt(float x, int n); קוד Cהקורא לפרוצדורה הוא: #include <stdio.h> extern float my_sqrt(float x, int n); void main() { float x; printf("enter x:\n");

scanf("%f", &x); printf("my_sqrt(%f) = %f\n", x, my_sqrt(x, 5)); } /* end of main */ סעיף ב': יש לכתוב קוד לפתרון התרגיל עבור: :double הגדרת הפרוצדורה היא: double my_sqrtd(double x, int n); :long double הגדרת הפרוצדורה היא: long double my_sqrtld(long double x, int n);.1.2 בהצלחה!!!